import request from "@/utils/request";

/**
 *@params：
 *@desc：收藏的 MV 列表
 * 说明 : 调用此接口,可获取收藏的 MV 列表
 *
 * 接口地址 : /mv/sublist
 *
 * 调用例子 : /mv/sublist
 *@author： 羽
 *@date： 2022/12/08 02:38:43
 */
export const getMvSublist = () => {
  return request({
    url: '/mv/sublist',
    params: {
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：获取 mv 数据
 * 说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应 MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等数据 , 其中 mv 视频 网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' mv 地址' 接口
 *
 * 必选参数 : mvid: mv 的 id
 *
 * 接口地址 : /mv/detail
 *
 * 调用例子 : /mv/detail?mvid=5436712
 *@desc：
 *@author： 羽
 *@date： 2023/01/15 10:41:38
 */

export const getMvDetail = (mvid) => {
  return request({
    url: '/mv/detail',
    params: {
      mvid,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：mv 地址
 * 说明 : 调用此接口 , 传入 mv id,可获取 mv 播放地址
 *
 * 必选参数 : id: mv id
 *
 * 可选参数 : r: 分辨率,默认 1080,可从 /mv/detail 接口获取分辨率列表
 *
 * 接口地址 : /mv/url
 *
 * 调用例子 :
 *
 * /mv/url?id=5436712 /mv/url?id=10896407&r=1080
 *@desc：
 *@author： 羽
 *@date： 2023/01/15 11:40:42
 */
export const getMvUrl = (params) => {
  return request({
    url: '/mv/url',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：获取 mv 点赞转发评论数数据
 * 说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应 MV 点赞转发评论数数据
 *
 * 必选参数 : mvid: mv 的 id
 *
 * 接口地址 : /mv/detail/info
 *
 * 调用例子 : /mv/detail/info?mvid=5436712
 *@desc：
 *@author： 羽
 *@date： 2023/01/15 14:15:10
 */
export const getMvDetailInfo = (mvid) => {
  return request({
    url: '/mv/detail/info',
    params: {
      mvid,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：收藏/取消收藏 MV
 * 说明 : 调用此接口,可收藏/取消收藏 MV
 *
 * 必选参数 :
 *
 * mvid : MV id
 *
 * t : 1 为收藏,其他为取消收藏
 *
 * 接口地址 : /mv/sub
 *
 * 调用例子 : /mv/sub
 *@desc：
 *@author： 羽
 *@date： 2023/01/15 14:40:52
 */

export const getMvSub = (params) => {
  return request({
    url: '/mv/sub',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：mv 评论
 * 说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 mv 的所有评论 ( 不需要 登录 )
 *
 * 必选参数 : id: mv id
 *
 * 可选参数 : limit: 取出评论数量 , 默认为 20
 *
 * offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
 *
 * before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
 *
 * 接口地址 : /comment/mv
 *
 * 调用例子 : /comment/mv?id=5436712
 *@desc：
 *@author： 羽
 *@date： 2023/01/15 15:29:11
 */
export const getCommentMv = (params) => {
  return request({
    url: '/comment/mv',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：相似 mv
 * 说明 : 调用此接口 , 传入 mvid 可获取相似 mv
 *
 * 必选参数 : mvid: mv id
 *
 * 接口地址 : /simi/mv
 *
 * 调用例子 : /simi/mv?mvid=5436712
 *@desc：
 *@author： 羽
 *@date： 2023/01/15 15:59:49
 */

export const getSimiMv = (mvid) => {
  return request({
    url: '/simi/mv',
    params: {
      mvid,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

// --------------------- 以下是视频 - -------------------------------

/**
 *@params：视频详情
 * 说明 : 调用此接口 , 可获取视频详情
 *
 * 必选参数 : id: 视频 的 id
 *
 * 接口地址 : /video/detail
 *
 * 调用例子 : /video/detail?id=89ADDE33C0AAE8EC14B99F6750DB954D
 *@desc：
 *@author： 羽
 *@date： 2023/01/16 15:07:19
 */

export const getVideoDetail = (id) => {
  return request({
    url: '/video/detail',
    params: {
      id,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：获取视频播放地址
 * 说明 : 调用此接口 , 传入视频 id,可获取视频播放地址
 *
 * 必选参数 : id: 视频 的 id
 *
 * 接口地址 : /video/url
 *
 * 调用例子 : /video/url?id=89ADDE33C0AAE8EC14B99F6750DB954D
 *@desc：
 *@author： 羽
 *@date： 2023/01/16 15:17:45
 */

export const getVideoUrl = (id) => {
  return request({
    url: '/video/url',
    params: {
      id,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：视频评论
 * 说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 视频 的所有评论 ( 不需要登录 )
 *
 * 必选参数 : id: 视频的 id
 *
 * 可选参数 : limit: 取出评论数量 , 默认为 20
 *
 * offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
 *
 * before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
 *
 * 接口地址 : /comment/video
 *
 * 调用例子 : /comment/video?id=89ADDE33C0AAE8EC14B99F6750DB954D
 *@desc：
 *@author： 羽
 *@date： 2023/01/16 15:58:54
 */

export const getCommentVideo = (params) => {
  return request({
    url: '/comment/video',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：收藏视频到视频歌单
 * 说明 : 调用此接口 , 可收藏视频到视频歌单 ( 需要登录 )
 *
 * 必选参数 :
 *
 * pid : 歌单 id
 *
 * ids : 视频 id,支持多个,用,隔开
 *
 * 接口地址 : /playlist/track/add
 *
 * 调用例子 : /playlist/track/add?pid=5271999357&ids=186041
 *@desc：
 *@author： 羽
 *@date： 2023/01/16 16:08:52
 */

export const getPlaylistTrackAdd = (ids) => {
  return request({
    url: '/playlist/track/add',
    params: {
      ids,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：相关视频
 * 说明 : 调用此接口 , 可获取相关视频
 *
 * 必选参数 : id: 视频 的 id
 *
 * 接口地址 : /related/allvideo
 *
 * 调用例子 : /related/allvideo?id=89ADDE33C0AAE8EC14B99F6750DB954D
 *@desc：
 *@author： 羽
 *@date： 2023/01/16 16:28:19
 */
export const getRelatedAllvideo= (id) => {
  return request({
    url: '/related/allvideo',
    params: {
      id,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}